<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Help Wanted</title>
  <link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>

<div class="header">
  <h1>The Mesa 3D Graphics Library</h1>
</div>

<iframe src="contents.html"></iframe>
<div class="content">

<h1>Help Wanted / To-Do List</h1>

<p>
We can always use more help with the Mesa project.
Here are some specific ideas and areas where help would be appreciated:
</p>

<ol>
<li>
<b>Driver patching and testing.</b>
Patches are often posted to the <a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev">mesa-dev mailing list</a>, but aren't
immediately checked into git because not enough people are testing them.
Just applying patches, testing and reporting back is helpful.
<li>
<b>Driver debugging.</b>
There are plenty of open bugs in the <a href="https://bugs.freedesktop.org/describecomponents.cgi?product=Mesa">bug database</a>.
<li>
<b>Remove aliasing warnings.</b>
Enable gcc -Wstrict-aliasing=2 -fstrict-aliasing and track down aliasing
issues in the code.
<li>
<b>Windows driver building, testing and maintenance.</b>
Fixing MSVC builds.
<li>
<b>Contribute more tests to
<a href="https://piglit.freedesktop.org/">Piglit</a>.</b>
<li>
<b>Automatic testing.
</b>
It would be great if someone would set up an automated system for grabbing
the latest Mesa code and run tests (such as piglit) then report issues to
the mailing list.
</ol>

<p>
You can find some further To-do lists here:
</p>

<p>
<b>Common To-Do lists:</b>
</p>
<ul>
  <li><a href="https://cgit.freedesktop.org/mesa/mesa/tree/docs/features.txt">
    <b>features.txt</b></a> - Status of OpenGL 3.x / 4.x features in Mesa.</li>
  <li><a href="https://dri.freedesktop.org/wiki/MissingFunctionality">
    <b>MissingFunctionality</b></a> - Detailed information about missing OpenGL features.</li>
</ul>

<p>
<b>Driver specific To-Do lists:</b>
</p>
<ul>
  <li><a href="https://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/docs/llvm-todo.txt">
    <b>LLVMpipe</b></a> - Software driver using LLVM for runtime code generation.</li>
  <li><a href="https://dri.freedesktop.org/wiki/RadeonsiToDo">
    <b>radeonsi</b></a> - Driver for AMD Southern Island.</li>
  <li><a href="https://dri.freedesktop.org/wiki/R600ToDo">
    <b>r600g</b></a> - Driver for ATI/AMD R600 - Northern Island.</li>
  <li><a href="https://dri.freedesktop.org/wiki/R300ToDo">
    <b>r300g</b></a> - Driver for ATI R300 - R500.</li>
  <li><a href="https://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/drivers/i915/TODO">
    <b>i915g</b></a> - Driver for Intel i915/i945.</li>
</ul>

<p>
If you want to do something new in Mesa, first join the Mesa developer's
mailing list.
Then post a message to propose what you want to do, just to make sure
there's no issues.
</p>

<p>
Anyone is welcome to contribute code to the Mesa project.
By doing so, it's assumed that you agree to the code's licensing terms.
</p>

<p>
Finally:
</p>

<ol>
<li>Try to write high-quality code that follows the existing style.
<li>Use uniform indentation, write comments, use meaningful identifiers, etc.
<li>Test your code thoroughly.  Include test programs if appropriate.
</ol>

</div>
</body>
</html>
